package a09_贪心算法;

/**
 * <p>
 * a07_跳跃游戏
 * </p>
 *
 * @author flyduck
 * @since 2025/1/9
 */
public class a07_跳跃游戏 {
    public static void main(String[] args) {
        a07_跳跃游戏 test = new a07_跳跃游戏();
        System.out.println(test.canJump(new int[]{3, 0, 8, 2, 0, 0, 1}));
    }
    //局部最优：每次遍历一个元素，就去取最大的覆盖范围
    public boolean canJump(int[] nums) {
        if (nums.length == 1) {
            return true;
        }

        int cover = 0;
        for (int i = 0; i <= cover; i++) {
            cover = Math.max(i + nums[i], cover);
            if(cover >= nums.length - 1){
                return true;
            }
        }
        return false;
    }


}
